refactored code into files
resizable