use constant
fix up needle class (for no reason whatsoever)
use provided request obj and remove admin/main