fixing some stuff based on feedback from @brianloveswords, added a failing test