initial functionality complete