move types to separate file