fix caption positioning, refactor
update