use round instead of ceil()