not use DecimalField, only TimeField and new difference method