filled out most of the commands