Improve initialize functions
Begin status function. Lots of refactoring