Design all types and related issues