should work but its not perfect