starting a refactor of cerberus