initial design (probably very close to the final one)