more type safety