removed runtime dependency on commons-codec, split api into its own library