finish the v 1.0