Added prototype impl