Fix bugs, go proper CQS ish