more changes
Major refactor