creation
managing exceptions