refactor
use lazy load
cleanup
cleanup
add link to g2a