implemented intended functionality