kind of working. but not completely...