re-arranged helper classes
update works