(pertial) refactoring