Initial commit with interface