finished and fixed