refactor create/delete/edit features; add zoom to feature