wrote rough interface