list working but very unpolished