data types refactoring