done. time to write some tests