I know this code is su*k