all functional now