tests passing now. still need to do more though