Initial repo

Basic class design