this requirement is filled by the base box
cleanup refactors
remove puts
swap search to top