add edit functionality
minor design improvements