more flexible utils