refs #18
+all methods were implemented
extra commit