Initial implementaion
Add examples