reorganized structure a bit and added openid module with partial implementation