structure changed so it's cleaner, code don't work tho