use primative types - simpler and cleaner