optional: added first implementation of Optional classes