implemented source_loader (fix #3)
implemented spec (fix #4)