make prices work with floats; make cancel go backwards

fix issue #30 and issue #34