changed the files a bit, still fine tuning the general design structure