implemented new copyWorkArea method
reworked raiseError
code cleanup