the entire thing should be done, only thing needed to be done is testing