Feature/operation implementation

David please review this too.