added a little documentation, still struggling with tests