add initial functionality