more or less works, but is shit