add partial selectors
make methods private