Cleaned up comments
Added construct magic method for filename with default
Refactored validation into simple if/else