back in some kind of working order after refactor