initial implementation (never compiled)