Avoid reflection for better perfomance, more flexibility