Improvements

o base api
o convenient functions
o tests