add more helper methods and tests