add the concept of 'form'