Seems to be working but not perfect.