i am not sure about this else if