refactor to use Odin