description is optional