add new main class for future CLI support
add comments to new main class
update GUI comments
finalize GUI