reorganize package & add titan support