huge first commit of basic stuff