semi finish working on output