refactored files (maintaining bc)