some new functions minor stuff