first complete implementation (contains only positive tests scenario for now)