improved type safety