solved bugs on calling super constructor