basic edit and add functionality, some checks still missing