first step of adding exclude option
exclude option seems to be working but needs some cleanup