working create and update with options