refactored some packages; settings serialazation support