Some stuff not really clean, everything is average