merged input back into trunk note: I have created an asylum with obsolete code, please check the files