handlers separated out
closes #4