adding stuff from refactor