allow primitives as return types