major refactoring and switch to rets.io