internal system design