method with nil case added