initial implementation of utilities