codec can be a member variable