roughed in code for lazy intantiation