fleshed out module and added a few tests