Rework optional, added try code listings