finish override logic and split test logic up