lazy and deprecated added