rough draft of code done... feel free to make any changes you want