still not perfect. but it'll do.