first attempt at a public component