initial implementation without fonts