unfinished camera function