seperated out button functions
additional comments