Split services into separate files for cleaner structure