fix: require numpy before matplotlib