okay this is the final version i swear