a few refinments