Refactor for lazy

add docs?