updated basic version