updated to latest version and implemented all features