got derived construction working