adding initial functionality