issue 20: depend on less stuff