reimplement resources add system