added initial class design