ported over a few more predicaments