pre refactor
refactored
added rudimentary usermanagement