added rest of the stuff