anonymous class attempt 3