moved unmandatory types to local files