fix cyclical dependency