start of refactor or code