+ optional constructor class map