make class and configuration more dynamic