Initial commit of core and library classes