inexed version - closer to completion - not compleeded calls yet
also misses "cleanup"