approximations, lenience + cleanup