small fixes to allow non-integer id