improve super functionality