make use of the @Nullable and @NonNull annotations for better code safety