more fiddling with syntax
cleaned up world hierarchy; wrapped action to hide impl