remove defines
change return method