Added @safe, @trusted, pure, nothrow when needed