extended category implementation