utility functions designed and used for further projects