add helper methods and codecs