added a class for the filechooser, changed engine stuff and rewrote some
code; also added comments