tweak to() return type