slaried impl almost complete