added remaining cases