q1 almost there, just need to test more