working but glitchy
added todo