use attachment
move pattern to controller
add password
add query
add optional dataset parameter