Fully functional, with example
Added readme, comments