fixed with lazy let