major refactor adding breakpointmgr