adding new concept from avhttp abondend branch