adding some labels
template inheritance is used to simplify the templates