added GetCurrentUser and required interfaces