major refactor to use Zeke methods