Beta 1

reworked almost everything, started migrating to better practices, and
commented every method.... I think.
close #2
close #11
close #10