slight refactoring
try again