new features

- default placeholders
- default labels
- handle optional fields