additional necessary codes