added tests; changed strategy initialization pattern