Changed typing invariant to make use of enabled methodand added anotations