Timekeeping and ifc changes

-channel ID is public
-currentTimeMillis() used instead of nanoTime(). float changed to double
as far as timekeeping is concerned because double lost precision