Rearrange internals
Add config() method