added initial oauth functionality