add fixtures and generalize for use outside of original context