First pass implementation.