version 1.0 with one small bug