major refactor to obj conventions