ugly as fuck interface sync etc