add limit
be smarter about extending. Use module and not inheritance
little tweaks