add the ability to set your own code