making class loading more dynamic