Updated dependencies
Small changes
Refactored code, moved API to separate file
Added API methods