basic work, needs to be fixed and not use array type stuff because that's dangerous