Edison

merge edison to master
move this to test.cpp