All basic features implemented