Feature implementation
Merge conficts resolved