refactored remaining methods into files