added calculateHandLen