random bugs i left are fixed