flattened library structure for simpler maintainibility