Used proper naming conventions, using reflection