Several improvements and fixes, add more docs and sample
Replaced static and introducing object method