guard clause: extend, register