rework package and add utilities