implement devise

Signed-off-by: mfebrianto <michaelfebrianto@gmail.com>