b2 assignment: responsive from scratch