make liftGlobal lazy and modified main