Generic work towards an alpha

Still working towards an alpha