working on types