all functions implemented and more features added