added initial functionality