removed dependency on annotations