refactor data types to address comments