continued refactoring
more refactoring part 2
fs refactoring part 1,2 complete