cleanup
add authentication & tests