Extracted subclasses into their own file
Fixed logic with scrolling
Optimized last item withdrawal
General refactoring