Added mutation API
Worked on alternative implementation paths