added more methods and tests