ignore the obvious mistakes pls ; ;