this definitely belongs in mechanics