Removed 'hiding' functionality, started refactoring.
Merged with comitted changes