This file is submitted to codeEval for 100 pts