added foundations, main implementation missing