18, cleaned up
19, can be cleaned up