gah
refactor