move types into separate repo