add edit/preview mode. :star: