improve evaluation functions