added unit testing stuff