commiting initial bidirectional plugin, js still needs to be made and make files modified...