working but util calculation seems to be wrong.