first round of edits. still need require and testing