added support for declaring attributes