initial conversion
post refactor cleanup