added NonNull annotations