all tests passing

thinking about rewriting with backbone due to inheritance limitations