Don't use self with funtion based approach