pre-final version

project complete
just need to cleaning up the code