implement one-to-one and one-to-many relation with lazy load