[refactor] splitting into smaller files