Functional. Ready for implementation of JCs suggested changes