add defaults methods and more tests