init and corresponding tests