all features added
code used for final submission and results