Initial commit. Added most basic classes now starting on factories