adding basic key functionality