Further refact