#from here i took: