completed code

still need to add commentary & descriptions