finished with basic version