devise stuff incomplete though