everything is functional now