Implementing feedback take2 - major refactogin