initial commit
address issues identified during code review