some refinments