refactored lazy relation impl class