add rough draft and basic functionality