Separated files for easier maintenace