keyboard good and code compacted