yet more refactoring, remove unnecessary parameterization