cleaned up with r#