got rid of reflection wherever possible