finished the basic stuff