attempt at 19, unclear if functional