added remaining functionality and added unit tests. still need to test loop, switch, record, and play.
finished initial unit testing. All instructions appear to work correctly in isolation