Class pretty much done

just have to tidy it up for public use