added let-keys macro for better syntax