added all the stuff