default user implementation