second commit. Common prototype is ready.