https://dev-blog.zymen.net/how-to-create-custom-annotations-with-parameters/