added base64 functions