refactor lazy props AGAIN
adding tests for lazy refactor