utilities for programming