implementation, inheritance