prefix internal directive methods with $ so its less confusing