#new feature: saving/restoring settings
#refactoring some old classes