Adding More powerfull functionallity