Cleaned code and added packaging.
Fixed throw mechanism (untested); package changes

This must be reviewed.
Changed keep option