initial commit but has some bug