basics of boto
avoid using temp var
add TODO