it does all the stuff i guess