modified project4a