separated size from type