might work but takes forever to test. bug?