add @Nullable annotations where appropriate, fixes #15