Overloaded registerCompound method. if no size is supplied, it is assumed to be 1 in the original method