Replaced entities
Somewhat working
Added library functionality
Moved constructors correctly