rebase to object oriented model and used drag and drop