added options, error callback handling...