implement lazyload
add displacement
add modified codes