rearrange, change up inheritance
fjdu might be runnable now