Implemented all basic features