subroutines mostly written
most of basic functionality
completed basic functionality, verified correct