Initial skeleton and tests