Added hooks into template class
Added class for user interaction
merged and resolved conflicts