work on adding subroutines