Filled in more button functionality, further modularization needed