syntax and parsing.  needs to be separated into different manifests for class declarations