implement more methods
implement create
add test for update
update test for better coverage
script update